The present exemplary embodiment relates to methods and systems for improving image uniformity in image rendering systems. It finds particular application in conjunction with document processing systems, and will be described with particular reference thereto. However, it is to be appreciated that some embodiments are amenable to other applications.
Image uniformity is a desired goal in most, if not all, image rendering processes. That is, it is desirable for an image to appear the same no matter where it is placed on an image rendering surface. Furthermore, portions of an image that are meant to have the same lightness or hue should appear to have the same lightness or hue throughout a rendered image. However, imperfections in image rendering systems or processes can lead to image non-uniformities.
For example, in some electrophotographic rendering devices, variation in spot size, as a laser beam, of a raster output scanner, is directed across an imaging surface, such as a photoreceptor or photoconductive substrate, can lead to imaging artifacts in a rendered output image. Such spot size variation can be caused, for example, by variations in focus (caused by imperfection in lenses), variation in the incident angle of the beam on the photoreceptor, variation in beam path length as it is swept across the photoreceptor or photoconductor in a process direction or by other factors. Where raster output scanners are based on light emitting diodes, variations in LED efficiency and/or focus can also lead to non-uniformities. Other factors that can lead to image non-uniformities include, but are not limited to, imperfections, such as scratches in the photoreceptor or photoconductor, and Hybrid Scavengeless Development (HSD) wire variations, due to wire age and/or imaging history.
One method to improve rendered image uniformity is to improve related system components. For example, lensing systems might be improved and photoreceptors might be made with increased durability. However, system components manufactured to higher or more stringent tolerances can be expensive to design and produce.
An alternative or complementary solution to rendered image non-uniformities is to adjust image data to compensate for rendering device non-uniformities prior to rendering. For example, where it is known that a portion of an image would otherwise be rendered lighter than adjacent portions of the image, or lighter than desired, image data can be modified so that the combined effect of the modification and the lightening characteristics of the rendering device are to produce the image portion at the same lightness level as the adjacent portions, or as desired.
For example, where image data is available in a contone format, Tone Reproduction Curves (TRCs) can be used to adjust pixel values to compensate for the characteristics of a particular marking engine. For instance, a diagnostic or calibration image is rendered by a marking engine. A sensor is used to measure or analyze an aspect of the rendered image. For example, the image includes portions that are meant to be rendered to have the same lightness or shade of gray. The lightness or shade of gray of the rendered image is measured. The measurements may be used to generate an Engine Response Curve (ERC). The Engine Response Curve may describe a response, such as an average response, over the entire area of the diagnostic or calibration image. Additionally, or alternatively, Engine Response Curves may be generated for a specific spatial location or range of locations. For instance, an image space may be considered to be made up of a grid of pixel locations. A pixel location may be identified by an intersection of a row or a column. The physical design of a rendering system may dictate that the Engine Response Curve for pixels located in a given row or a given column are similar. Therefore, an Engine Response Curve may be determined for each row or column in the image space.
For example, where a rendering device includes an LED bar for generating a latent image on a photoreceptor, a particular LED in the bar may be associated with a particular portion of the image space. The efficiency of the LED may be a significant factor in the ERC for that portion of the image space. For instance, the portion of image space appears as a strip (row or column or plurality of rows or plurality of columns) including all those pixel locations having a level of exposure determined by light emitted from the particular LED. Therefore, it may be appropriate for the pixel locations associated with that portion of the image space to be associated with the same spatially dependent ERC.
On the other hand, it may be appropriate for each pixel location, or small cluster of pixel locations, in an image space to be associated with a particular ERC. For instance, an engine response for a small cluster of pixel locations in an image space may be a function of both an LED efficiency and a scratch or other imperfection at a particular point or region on a photoreceptor belt or drum. Some pixel locations associated with the particular LED may be unaffected by the imperfection in the photoreceptor. Those portions may be associated with a first ERC, while the pixel locations associated with the photoreceptor imperfection may be associated with a second engine response curve.
The phrase—Engine Response Curve—(or ERC) may be used to refer to a general engine response curve that is applicable to an entire rendered image space, such as, an average Engine Response Curve. Additionally, or alternatively, the phrase—Engine Response Curve—may be used to refer to a collection of regional Engine Response Curves, wherein each regional Engine Response Curve describes an engine response of an imaging system at a respective particular portion of rendered image space. Furthermore, the phrase—Engine Response Curve—may be used to refer to an individual regional Engine Response Curve associated with a particular row, column, cluster or individual pixel location in a rendered image space. Similarly, the phrase—compensating Tone Reproduction Curve—(or TRC) can be used to refer to a curve, collection or set of curves or an individual member of a collection or set of curves that includes information for compensating for imperfections or departures from the ideal, in an Engine Response Curve, whether the Engine Response Curve is an average or overall Engine Response Curve, a collection or set of regional Engine Response Curves or an Engine Response Curve related to an individual pixel location within a rendered image space.
Engine Response Curves (ERCs) and Tone Reproduction Curves (TRCs) are referred to as curves because the information they contain, or are associated with, may sometimes be displayed or discussed as a plot of datapoints. However, information related to both ERCs and compensating TRCs may be stored or manipulated as tables of data, sets of coefficients and/or constants associated with equations, or by other means, as may be convenient.
As indicated above, compensating TRCs are useful for compensating for rendered image non-uniformities where image pixels describe input or desired colors or shades of gray with a relatively fine resolution. For example, compensating tone reproduction curves are useful where image pixels describe an input or desired color with one or more values in a relatively broad range of, for example, 0 to 255. Such pixels are said to describe an input or desired color with contone values. In such systems, one may select an appropriate compensating TRC for a pixel location in rendered image space based on a contone value of the input pixel and look up and/or calculate a compensated contone value based on the selected compensating tone reproduction curve.
However, image descriptions are not always available in terms of contone values. Sometimes, image descriptions are only available in what is referred to as a binary or quantized format. Binary image description formats are useful because many marking engines are limited to placing a mark or not placing a mark at any given pixel location. Binary image formats describe an image in terms of placing a mark or not placing a mark. Even where pixels are referred to as—high addressable—and describe pixels with more than the two (on, off) states of a binary format ultimately, they describe binary states of a cluster of spots wherein each member of the cluster is either marked or unmarked.
These quantized or binary image descriptions are often generated by applying a halftoning or quantization process to an image described in terms of contone values. Therefore, we refer to all binary or quantized image descriptions as halftoned.
A received halftoned image or image description may be the direct or indirect result of a rasterizing image process. For example, a rendered image may be scanned. Even though the scanning process generates contone values, the scanned image data is binary or quantized in nature because the scanned image data will contain very few different quantization levels. For example, the quantization levels of the scanned image data will be near the extremes of the available contone range. For instance, the scanned image data of a halftoned or a rasterized image will contain only values near 0 and 255 (in an 8-bit system). All images having these binary or nearly binary or quantized characteristics are referred to herein as halftoned images. The limited resolution with which pixels in a halftoned image describe desired lightness levels or shades of gray limits the usefulness of compensating tone reproduction curves for generating compensated values. For example, where a compensating tone reproduction curve may be used to determined that a compensated value for a shade of gray represented by the number 100 might be a value of 103, a similar tone reproduction curve could not be used to determine a corrected value where an input value must select an output value from an available range of values of only 0 and 1, on and off, or full scale dark and full scale light. Therefore, it has not been possible or practical to use compensating Tone Reproduction Curves to compensate halftoned images for image non-uniformities such as streaks, banding and mottling.
Nevertheless, there has been a desire to compensate for system imperfections, or variations from the ideal, in systems where image data is only available in a halftoned form.